package com.ruoyi.lol.service.impl;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.ruoyi.common.core.domain.AjaxResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.lol.mapper.LolHeroMapper;
import com.ruoyi.lol.domain.LolHero;
import com.ruoyi.lol.service.ILolHeroService;

/**
 * 英雄字典Service业务层处理
 * 
 * @author wyx
 * @date 2025-04-20
 */
@Service
public class LolHeroServiceImpl implements ILolHeroService 
{
    @Autowired
    private LolHeroMapper lolHeroMapper;

    /**
     * 查询英雄字典
     * 
     * @param id 英雄字典主键
     * @return 英雄字典
     */
    @Override
    public LolHero selectLolHeroById(Long id)
    {
        return lolHeroMapper.selectLolHeroById(id);
    }

    /**
     * 查询英雄字典列表
     * 
     * @param lolHero 英雄字典
     * @return 英雄字典
     */
    @Override
    public List<LolHero> selectLolHeroList(LolHero lolHero)
    {
        return lolHeroMapper.selectLolHeroList(lolHero);
    }

    @Override
    public Map<String ,List<LolHero>> selectLolHeroNoPageList(LolHero lolHero)
    {
        Map<String ,List<LolHero>> map = new HashMap<>();
        map.put("topList",lolHeroMapper.selectTopList());
//        map.put("junList",lolHeroMapper.selectLolHeroNoPageList(new LolHero()));
        map.put("midList",lolHeroMapper.selectMidList());
        map.put("adList",lolHeroMapper.selectAdList());
        map.put("supList",lolHeroMapper.selectSupList());
        map.put("top2List",lolHeroMapper.selectTop2List());
        map.put("jun2List",lolHeroMapper.selectJun2List());
        map.put("mid2List",lolHeroMapper.selectMid2List());
        map.put("ad2List",lolHeroMapper.selectAd2List());
        map.put("sup2List",lolHeroMapper.selectSup2List());
        return map;
    }
    /**
     * 新增英雄字典
     * 
     * @param lolHero 英雄字典
     * @return 结果
     */
    @Override
    public AjaxResult insertLolHero(LolHero lolHero)
    {
        List<LolHero> heroList = lolHeroMapper.selectLolHeroList(lolHero);
        if (heroList.isEmpty()){
            lolHeroMapper.insertLolHero(lolHero);
            return AjaxResult.success("新增成功");
        }else {
            return AjaxResult.error("新增失败，英雄已存在");
        }
    }

    /**
     * 修改英雄字典
     * 
     * @param lolHero 英雄字典
     * @return 结果
     */
    @Override
    public int updateLolHero(LolHero lolHero)
    {
        return lolHeroMapper.updateLolHero(lolHero);
    }

    /**
     * 批量删除英雄字典
     * 
     * @param ids 需要删除的英雄字典主键
     * @return 结果
     */
    @Override
    public int deleteLolHeroByIds(Long[] ids)
    {
        return lolHeroMapper.deleteLolHeroByIds(ids);
    }

    /**
     * 删除英雄字典信息
     * 
     * @param id 英雄字典主键
     * @return 结果
     */
    @Override
    public int deleteLolHeroById(Long id)
    {
        return lolHeroMapper.deleteLolHeroById(id);
    }
}
